Semiconductor circuits, especially of the System on a Chip type, typically contain a microprocessor and non-volatile memory to perform required functions. When a semiconductor circuit is first powered up, the microprocessor requires a source of instructions to be able to function. Typically, semiconductor circuits include a read only memory (ROM) array, often referred to as a “boot ROM,” that has been masked at the time of manufacture to include the appropriate program code that allows the microprocessor to boot up and initialize the semiconductor circuit when power is first applied. A boot ROM, however, increases the required surface area of the semiconductor circuit, as well as the complexity of the microprocessor initialization processes. If the ROM is created as part of the fabrication process, errors that cause changes to this program code are very expensive and time consuming. In addition, a boot ROM impairs the security of a semiconductor circuit, since each cell in the boot ROM can be examined, e.g., using a microscope, to identify the program code that has been loaded onto the boot ROM. The security impairment is of particular concern when the semiconductor circuits are used for secure applications, such as banking or the recording of personal or proprietary information.
In addition, a semiconductor circuit is typically tested and trimmed when it is first booted up. Generally, a new semiconductor circuit is connected to a testing station that tests various features and functions of the semiconductor circuit to ensure that the semiconductor circuit is operating within specified tolerances. In addition, the testing station typically trims other devices on the semiconductor circuit that may require adjustment to operate at a desired setting.
Thus, a need exists for a method and apparatus for determining when a semiconductor circuit is unused so that it can be initialized or tested or both.